package cn.tedu.collection;
/**本类用于字符串中字符个数统计案例*/

import javafx.scene.transform.Scale;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**用户输入:abcccc
 * 输出结果:{a=1,b=1,c=4}*/
public class TestMap2 {
    public static void main(String[] args) {
        System.out.println("请您输入要统计的字符串");
        String input=new Scanner(System.in).nextLine();
        //2.创建map结构存数据
        /**统计的是每个字母出现的次数,单个字符是char类型,对应的是Character
         * 注意,Integer代表的是这个字母出现的次数,可以重复,不能作为KEY*/
        Map<Character,Integer> map=new HashMap<>();
        for (int i = 0; i < input.length(); i++) {
            char key = input.charAt(i);
//            System.out.println("获取到的字符"+key);
            //4.统计每个字符出现的次数
            Integer value=map.get(key);
            if (value==null){//为null说明这个字母是第一次出现(之前没存过)
                map.put(key,1);//存(当前获取到的字母,次数为1)
            }else {//value不为null,说明不是第一次循环,而且这个字母出现过
                map.put(key,value+1);//存(当前获取到的字母,之前的次数+1)
            }
        }
        System.out.println(map);
    }
}
